1. Field of the Invention
This invention relates to systems and methods for decoding a digital audio signal in compliance with the MPEG standard.
2. Description of Related Art
The MPEG1 and MPEG2 standards are well known for digital encoding and decoding of video and audio. The MPEG standards represent images and sounds as digital data which includes video data and audio data. The digital data can be stored in memory or on a permanent media such as a CDROM or transmitted to a receiver for real-time decoding and performance. Audio data in an MPEG compatible data stream is commonly referred to as the audio subband. In accordance with the MPEG standards, the audio subband contains sets of 32 code values which are frequency domain samples Sk. Decoding 32 frequency domain samples Sk, where k is a frequency index and ranges from 0 to 31, generates 64 time domain sound samples Vi, where i is a time index and ranges from 0 to 63.
Table 1 contains a "C" code listing of an audio subband decoding process in compliance with the MPEG1 standard.
TABLE 1 ______________________________________ Subband Decoding Process ______________________________________ for(i=0; i&lt;64; i++) { V[i]=0; for(k=0; k&lt;32; k++) V[i] += (N[i][k]*S[k]); /* Multiply-and-Accumulate */ }; ______________________________________
In Table 1, N[i][k] are the subband synthesis filter coefficients Nik defined by the MPEG 1 standard. In accordance with the process of Table 1, calculation of each time domain audio sample V[i] requires 32 multiply-and-accumulate operations, and decoding of a 32-element subband requires 64*32 or 2048 multiply-and-accumulate operations. This is a significant calculational burden especially for real time decoding where time domain samples are required at frequencies of up to 48 kHz.
A variety of systems have been developed to perform real-time MPEG decoding. One type of system uses a general-purpose microprocessor that executes the process of Table 1 to decode subband data for audio and executes a video decoding process for video. A general purpose processor generally requires a high clock speed for real time MPEG decoding since general-purpose processors often do not contain execution units specialized for such decoding. Another type of system uses a special-purpose MPEG decoder or signal processor implemented specifically for MPEG audio and/or video decoding. Such specialized hardware has limited application to tasks other MPEG decoding. Alternatively, multimedia processors have recently been proposed that are suited for a wide variety of multimedia applications including but not limited to decoding compressed video and audio data. U.S. patent application Ser. No. 08/699,597, filed Aug. 19, 1996, entitled "Single-Instruction-Multiple-Data Processor in a Multimedia Signal Processor" describes an exemplary multimedia processor and is incorporated by reference herein in its entirety.
The exemplary multimedia processor includes two subprocessors. One subprocessor, referred to as the scalar processor, is specially designed for execution of scalar operations such as indexing and conditional operations. The other subprocessor, referred to as the vector processor, supports vector arithmetic operations where execution of a single instruction causes the vector processor to perform multiple parallel operations on a set of data elements that form a data vector. Performing the same operation on multiple data elements in parallel is desirable for multimedia applications which often require performing the same operation for each data element in a large set of data elements. Methods for using a vector processor to quickly and efficiently execute multimedia processes such as the decoding of subband information are sought.